LWG issue 2341; Make the two variants of basic_ostream::seekp and basic_istream::seekg behave consistently; update tests to make sure git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@193814 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/istream b/include/istream index 7284fc1..14fa466 100644 --- a/include/istream +++ b/include/istream 
@@ -1369,8 +1369,10 @@  this->clear(this->rdstate() & ~ios_base::eofbit);  sentry __sen(*this, true);  if (__sen) + {  if (this->rdbuf()->pubseekpos(__pos, ios_base::in) == pos_type(-1))  this->setstate(ios_base::failbit); + }  #ifndef _LIBCPP_NO_EXCEPTIONS  }  catch (...) @@ -1391,7 +1393,10 @@  #endif // _LIBCPP_NO_EXCEPTIONS  sentry __sen(*this, true);  if (__sen) - this->rdbuf()->pubseekoff(__off, __dir, ios_base::in); + { + if (this->rdbuf()->pubseekoff(__off, __dir, ios_base::in) == pos_type(-1)) + this->setstate(ios_base::failbit); + }  #ifndef _LIBCPP_NO_EXCEPTIONS  }  catch (...)